let eval: (('a => 'b), 'a) => 'b